package com.example.musicbox.service;

import com.example.musicbox.entity.MMusic;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.musicbox.utils.Result;
import org.bouncycastle.util.Integers;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 帅哥是我
 * @since 2022-08-01
 */
public interface MMusicService extends IService<MMusic> {

    /**
     * 上传音乐
     * @param mMusic
     * @param token
     * @return
     */
    Result insertMusic(MMusic mMusic,String token);


    /**
     * 删除音乐
     * @param id
     * @param token
     * @return
     */
    Result deleteMusic(Integer id,String token);

    /**
     * 播放音乐
     * @param id
     * @param token
     * @return
     */
    Result playMusic(Integer id,String token);

    /**
     * 收藏音乐
     * @param id
     * @param token
     * @return
     */
    Result fontMusic(Integer id,String token);


    /**
     * 用户歌曲列表已经在歌曲目录中查找了
     * 这里查找的是主页面的歌曲
     * 在这里私有不查询出来
     * @return
     */
    Result selectAll(Integer p,Integer s);


    /**
     * 模糊查询
     * @param name
     * @return
     */
    Result selectByName(String name,Integer p,Integer s);


    /**
     * 根据歌曲类型分页查询
     * @param type
     * @param p
     * @param s
     * @return
     */
    Result selectByType(Integer type,Integer p,Integer s);


    /**
     * 下载音乐
     * @param mId
     * @param token
     * @return
     */
    Result downloadMusic(Integer mId,String path,String token);


    /**
     * 为你推荐
     * @param p
     * @param s
     * @return
     */
    Result recommendMusic(Integer p, Integer s);


}
